package com.atguigu.lease.model.base;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

@Data
public class BaseEntity {
    @TableId(type = IdType.AUTO)
    @Schema(description = "主键")
    private Long id;
    //springmvc接受前端请求时，将后端对象转为json响应(默认使用jackson处理)，可以配置生成json时 如何处理！
    @JsonIgnore //转json响应时忽略此属性
    @TableField(value= "create_time" , fill = FieldFill.INSERT) //新增BaseEntity的对象时触发自动填充
    @Schema(description = "创建时间")
    private Date createTime;
    @JsonIgnore //转json响应时忽略此属性
    @TableField(value= "update_time" , fill = FieldFill.INSERT_UPDATE) //新增或者更新BaseEntity对象时 触发自动填充
    @Schema(description = "更新时间")
    private Date updateTime;
    @JsonIgnore //转json响应时忽略此属性
    @TableField("is_deleted")
    @TableLogic //表示当前属性为逻辑删除字段 默认 1-已删除， 0-未删除
    @Schema(description = "逻辑删除")
    private boolean deleted;

}
